overview
  
  next
  
Linux für Anwendungsentwicklung
  previous
  nextDozent
  
  - Paul Hänsch
- Seit 2012 freiberuflicher Programmierer
- Arbeit an und mit Freier Software (Open Source)
- Kunden: Denkmalstiftung, Kinderzirkus, ...
- in der Vergangenheit: Free Software Foundation Europe, Jugendclub, Kulturserver
- Videopodcast: GNUfunzt! http://gnufunzt.de
- Kontakt: Paul.Haensch@damago.eu
Organisatorisches zum Kurs
  
  - 19 Termine18 Termine
- Feiertag am 3. Oktober / Frei am 4. Oktober
- 8:00 bis 15:15 Uhr
- Letzter Termin 11.10. 
  - Danach: eine Woche Prüfungsvorbereitung
 
- Pausenzeiten 
  - ca.  9:30 - 10:00 Uhr: Frühstückspause
- ca. 12:30 - 13:15 Uhr: Mittagspause
 
- Themenübersicht - Nach der Einführung
Vorstellungsrunde
  
  - Wie seid ihr zu der Umschulung gekommen?
- Wie habt ihr bisher programmiert?
- Welches kleine Programm wolltet ihr immer schonmal schreiben?
Was ist ein Betriebssystem?
 previous
  
  nextWas ist ein Betriebssystem?
  
  Funktionen eines Betriebssystems
  
  Begriffe
  
  GNU Desktop Unix 
  Ubuntu Linux Distribution
  Gnome Knoppix
  
  Was ist Unix?
   
  
  - 1969 von an den Bell Labs für PDP-7 konzipiert
- Von "C"-Erfinder Dennis Ritchie und Ken Thompson
- Entworfen um "Space Travel"-Spiel als Anwendung
- Schafft grundlegenden Aufbau für Beriebssysteme
- Von Bell an kommerzielle Computerhersteller lizensiert
Was ist GNU?
   
  
  - 1983 am durch Richard M. Stallman am MIT begonnen
- Auslöser war u.A. Missmut über Kopierschutzpraktiken
- Grundlage der Free Software Bewegung
- Unix-Kompatibles Betriebssystem
- Umfasst Unix-Dienstprogramme
Was ist Linux?
  
  - 1991 durch Linus Torvalds an der Uni Helsinki begonnen
- Unix-Kompatibler Betriebssystem-Kernel
- Lauffähig mit GNU-Dienstprogrammen
GNU + Linux
  
 
  Was ist eine Distribution?
  
  Beispiele für Distributionen
  
   Ubuntu - Kommerzielle Distribution basierend auf Debian Ubuntu - Kommerzielle Distribution basierend auf Debian
 Debian - Frühe Distribution mit Online-Paketsystem Debian - Frühe Distribution mit Online-Paketsystem
 Gentoo - Zusammenstellung von Quellcode zum selbst anpassen Gentoo - Zusammenstellung von Quellcode zum selbst anpassen
 Arch - Verbreitete Distribution mit eigenem Paketsystem Arch - Verbreitete Distribution mit eigenem Paketsystem
 Knoppix - Debian basiertes Live-System Knoppix - Debian basiertes Live-System
 Fedora, Fedora, RedHat, RedHat, Suse, Parabola, Puppy, Rebecca Black, ... Suse, Parabola, Puppy, Rebecca Black, ...
- Tausende weitere
Desktopumgebungen
  Grafische Bedienoberflächen können sehr unterschiedlich aussehen
  
  - Gnome
- KDE
- LXDE
- Xfce
- Maté, i3, Awesome, WindowMaker, LXQT, Enlightenment, usw...
- Unterscheidung: Window Manager, Toolkit, Softwaresuite
Weitere Begriffe
  
  - Android: anderes Betriebssystem mit Linux-Kernel
- BSD: Berkeley Software Distribution, anderes Freies Unix
- Busybox: andere Suite von Unix-Dienstprogrammen
Themenübersicht
previous
  
  nextprevious
  
  nextWeitere Themen
  
  - Prozessmanagement
- Vertiefung Kommandozeile, Shellscripting
- Datenträger, Dateisysteme, Partitionen
- Systemstart
- Paketsysteme, Softwareinstallation, Systeminstallation
- Netzwerk, SSH
- nach Wunsch Android, X11, Verschlüsselung, Internetdienste, Versionskontrolle, Gameserver,..., Scripting, Programmierunmgebungen, Webentwicklung
- Installparty?
- Lernziele LPI
Arbeit mit Dateien
  ~$ touch datei1
  Arbeit mit Dateien
  
  ~$ ls -l datei1
  -rw-r--r-- 1 live live 0 Apr 10 02:13 datei1
  Arbeit mit Dateien
  ~$ echo "Hallo Welt!" > datei1
  Arbeit mit Dateien
  
  ~$ ls -l datei1
  -rw-r--r-- 1 live live 12 Apr 10 02:13 datei1
  Arbeit mit Dateien
  ~$ cat datei1
  Arbeit mit Dateien
  
  ~$ touch datei1
  ~$ ls
  datei1
  ~$ ls -l datei1
  -rw-r--r-- 1 live live 0 Apr 10 02:13 datei1
  ~$ echo "Hallo Welt!" > datei1
  ~$ ls -l datei1
  -rw-r--r-- 1 live live 12 Apr 10 02:13 datei1
  ~$ cat datei1
  Hallo Welt!
  ~$ _
  
  Arbeit mit Dateien
  
  ~$ ls -l /bin/bash
  -rwxr-xr-x 1 root root 1168776 Apr 18 06:12 /bin/bash
  Arbeit mit Dateien
  ~$ ls -l -h /bin/bash
  Arbeit mit Dateien
  -rwxr-xr-x 1 root root 1.2M Apr 18 06:12 /bin/bash
  Zusammenfassung
  
  - touch legt eine Datei an
- ls zeigt Informationen über eine Datei
Zusammenfassung
  
  - Kommandos lassen sich parametrisieren, z.B. ls -l undls -h 
Zusammenfassung
  
  - mit echo können wir textin eine Datei schreiben
Zusammenfassung
  
  - cat zeigt den Inhalt von Dateien an
Zusammenfassung
  touch
  ls
  ls -l -h
  echo
  cat
  Zugriffsrechte
previous
  
  nextZugriffsrechte
  ~$ ls -l datei1
  -rw-r--r-- 1 live live 12 Apr 10 02:13 datei1
  
  | Typ | Eigentümer | Gruppe | Andere | 
|---|
  | - | rw- | r-- | r-- | 
  
  Zugriffsrechte
  ~$ ls -l /bin/cat
  -rwxr-xr-x 1 root root 34676 Feb 22 2017 /bin/cat
  
  | Typ | Eigentümer (root) | Gruppe (root) | Andere | 
|---|
  | - | rwx | r-x | r-x | 
  
  Zugriffsrechte
  
  ~$ chmod u-r datei1
  ~$ ls -l datei1
  --w-r--r-- 1 live live 12 Apr 10 02:13 datei1
  
  | Typ | Eigentümer | Gruppe | Andere | 
|---|
  | - | -w- | r-- | r-- | 
  
  Zugriffsrechte
  
  ~$ cat datei1
  cat: datei1: Keine Berechtigung
  Zugriffsrechte
  
  ~$ chmod u+r datei1
  ~$ cat datei1
  Hallo Welt!
  Zugriffsrechte - Gruppen
  
  ~$ groups
  live sudo video input
  Zugriffsrechte - Gruppen
  
  ~$ chgrp video datei1
  ~$ ls -l datei1
  -rw-r--r-- 1 live video 12 Apr 10 02:13 datei1
  Navigation im Dateisystem
previous
  
  nextNavigation im Dateisystem
  
  ~$ pwd
  /home/live
  Navigation im Dateisystem
  
  ~$ cd .
  ~$ pwd
  /home/live
  Navigation im Dateisystem
  
  ~$ cd ..
  ~$ pwd
  /home
  Navigation im Dateisystem
  
  ~$ cd ..
  ~$ pwd
  /
  ~$ ls
  bin etc media proc sys var boot home mnt
  root tmp dev lib opt sbin usr
  Navigation im Dateisystem
  
  ~$ ls bin
  ~$ ls etc
  ~$ ls dev
   
  Navigation im Dateisystem
  
  Navigation im Dateisystem
  
  Systemordner in Unix
  
  - /bin enthält ausführbare Programme
- /boot enthält den Systemkernel und Dateien, die damit unmittelbar in Zusammenhang stehen
- /etc enthält systemweite Konfigurationsdateien
- /home enthält Heimverzeichnisse der Benutzer
- /lib enthält sogenannte Softwarebibliotheken
- /media wird benutzt um temporäre Medien wie CDs und USB-Sticks abzubilden
- /var enthält Dateien, die sich ohne Handlung des Benutzers im regulären Betrieb verändern (z.B. Logbücher)
- /usr enthält weitere /bin und /lib Verzeichnisse für weniger grundlegende Programme